$(function () {
  // 1.1 获取裁剪区域的 DOM 元素
  var $image = $('#image')
// 1.2 配置选项
  const options = {
    // 纵横比
    aspectRatio: 1,
    // 指定预览区域
    preview: '.img-preview'
  }

  // 1.3 创建裁剪区域
  $image.cropper(options);

  // 点击上传按钮，弹出文件选择框
  $('#btnUpload').on('click', function () {
    $('#file').click();
  })

  // 监听文件选择框的change事件
  $('#file').on('change', function (e) {
    const fileList = e.target.files;
    if (fileList.length <= 0) {
      return layer.msg('请选择文件');
    }

    // 获取用户选择的文件，创建出对应的url地址
    const file = fileList[0];
    const imgURL = URL.createObjectURL(file);

    // 调用插件方法。把图片展示在裁剪区域
    $image
      .cropper('destroy') // 销毁旧的裁剪区域
      .attr('src', imgURL) // 重新设置图片路径
      .cropper(options) // 重新初始化裁剪区域
  })
  const {layer} = layui;
  //  实现上传图片功能
  $("#btnConfirm").on('click', function () {
    // 获取到图片 ==> 插件的方法 base64地址 ==>  字符串
    const dataURL = $image
      .cropper('getCroppedCanvas', {
        // 创建一个 Canvas 画布
        width: 100,
        height: 100
      })
      .toDataURL('image/png')

    //  ajax
    $.ajax({
      url: '/my/update/avatar',
      type: "POST",
      data: {
        avatar: dataURL,
      },
      success(res) {
        console.log(res);
        if (res.status !== 0) return layer.msg(res.message || '更新失败');
        // 更新成功
        layer.msg(res.message || '更新成功');
        // 调用父页面方法，更新用户信息
        window.parent.getUserInfo();
      }
    })
  })
})
